package com.zkthink.ceres.store.entity;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zkthink.base.entity.Entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.*;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

import javax.annotation.Nullable;
import javax.validation.constraints.NotNull;
import java.beans.Transient;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

import static com.baomidou.mybatisplus.annotation.SqlCondition.LIKE;

/**
 * <p>
 * 实体类
 * 店铺服务项目
 * </p>
 *
 * @author chenke
 * @since 2022-04-28
 */
@Data
@NoArgsConstructor
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("ceres_store_project")
@ApiModel(value = "StoreProject", description = "店铺服务项目")
@AllArgsConstructor
public class StoreProject extends Entity<Long> {

    private static final long serialVersionUID = 1L;

    /**
     * 店铺id
     */
    @ApiModelProperty(value = "店铺id")
    @TableField("storeid")
    @Excel(name = "店铺id")
    private Long storeid;

    /**
     * 标题
     */
    @ApiModelProperty(value = "标题")
    @Length(max = 255, message = "标题长度不能超过255")
    @TableField(value = "title", condition = LIKE)
    @Excel(name = "标题")
    private String title;

    /**
     * 副标题
     */
    @ApiModelProperty(value = "副标题")
    @Length(max = 255, message = "副标题长度不能超过255")
    @TableField(value = "subtitle", condition = LIKE)
    @Excel(name = "副标题")
    private String subtitle;

    /**
     * 价格
     */
    @ApiModelProperty(value = "价格")
    @TableField("price")
    @NotNull(message = "价格不能为空")
    @Excel(name = "价格")
    private BigDecimal price;

    /**
     * 描述
     */
    @ApiModelProperty(value = "描述")
    @Length(max = 255, message = "描述长度不能超过255")
    @TableField(value = "remarks", condition = LIKE)
    @Excel(name = "描述")
    private String remarks;
    /**
     * 图片
     */
    @ApiModelProperty(value = "产品图片")
    @Length(max = 255, message = "多张图片,间隔")
    @TableField(value = "img", condition = LIKE)
    @Excel(name = "图片")
    private String img;


    /**
     * 删除标志（0代表存在 2代表删除）
     */
    @ApiModelProperty(value = "删除标志（0代表存在 2代表删除）")
    @Length(max = 1, message = "删除标志（0代表存在 2代表删除）长度不能超过1")
    @TableField(value = "del_flag", condition = LIKE)
    @Excel(name = "删除标志（0代表存在 2代表删除）")
    private String delFlag;
    /**
     * 服务内容
     */
    @ApiModelProperty(value = "服务内容")
    @TableField(value = "content")
    private String content;
    /**
     * 背景图
     */
  @ApiModelProperty("背景图")
    private String backgroundimg;

}
